![](images/banner.jpg)
Week 14 Networking and Communications
This week we are going to let different objects talk to each other wireless.
Weekly Assignment
- Individual assignment:design, build, and connect wired or wireless node(s) with network or bus addresses
- Group assignment:send a message between two projects
Group Assignment Page Link
Final project development:
This week I will try to test my final project idea: using 3 buttons , one force resistor, bluetooth sending messages to seriel monitor wireless, cause I don't have a GUI yet, so I will just check seriel monitor to see is the bluetooth working or not .
Serial Communication
- Embedded electronics is all about interlinking circuits (processors or other integrated circuits) to create a symbiotic system. In order for those individual circuits to swap their information, they must share a common communication protocol. Hundreds of communication protocols have been defined to achieve this data exchange, and, in general, each can be separated into one of two categories: parallel or serial.
- Parallel vs. Serial: Parallel interfaces transfer multiple bits at the same time. They usually require buses of data - transmitting across eight, sixteen, or more wires. Data is transferred in huge, crashing waves of 1's and 0's.
- Serial interfaces stream their data, one single bit at a time. These interfaces can operate on as little as one wire, usually never more than four.
- Download code
![](images/week14/1.png)
![](images/week14/2.png)
Software Serial Library
Attiny 44 doesn't has UART which is a hardware built into the chip for serial communication. So I need a softwareSerial library that will allow serial communication on other digital pin of my GINO board.
![](images/finalproject/attiny44datasheet.png)
On my Gino board, I use PINHEADER 3
![](images/finalproject/txrxpin.jpeg)
The Arduino hardware has built-in support for serial communication on pins 0 and 1 (which also goes to the computer via the USB connection). The native serial support happens via a piece of hardware (built into the chip) called a UART. This hardware allows the Atmega chip to receive serial communication even while working on other tasks, as long as there room in the 64 byte serial buffer. The SoftwareSerial library has been developed to allow serial communication on other digital pins of the Arduino, using software to replicate the functionality (hence the name "SoftwareSerial"). It is possible to have multiple software serial ports with speeds up to 115200 bps. A parameter enables inverted signaling for devices which require that protocol.
To use this library: #include < SoftwareSerial.h>
Bluetooth HC-05
![](images/week14/03.png)
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify your overall design/development cycle.
Read Datasheet of bluetooth HC-05
I connect the bluetooth with my Mac, and it will show on bluetooth box.
First I try it with arduino
![](images/week14/bluetooth2.jpeg)
![](images/week14/bluetooth1.jpeg)
Then I try it with my Gino board and test it with breadboard. It's working well but bluetooth will lose connection sometimes. I search online and people say it's Mac and bluetooth they are like a fighting couple couldn't work well together. As long as I keep press button bluetooth can work well , but when I stop , after several seconds it will lose connection to my Mac.
]![](images/week14/test.jpeg)
![](images/week14/connect.png)
![](images/week14/code1.jpeg)
![](images/week14/code2.jpeg)
![](images/week14/code3.jpeg)
Test video: Fab isp here is just for power.